//index.js
const app = getApp()

Page({
    data: {
        avatarUrl: './user-unlogin.png',
        userInfo: {},
        showUserName: false,
        carCount: 0,
        carList: []
    },

    onLoad: function() {
        // 获取用户信息
        wx.getSetting({
            success: res => {
                if (res.authSetting['scope.userInfo']) {
                    // 已经授权，可以直接调用 getUserInfo 获取头像昵称，不会弹框
                    wx.getUserInfo({
                        success: res => {
                            // this.userInfo = res.userInfo //数据渲染
                            console.log(res)
                            this.onGetUserInfo(res.userInfo)
                                // 获取到用户信息后  获取用户的openid 向服务器发送
                                // this.onGetOpenid()
                        }
                    })
                }
            }
        })
    },

    onGetUserInfo: function(userInfo) {
        let that = this;
        if (userInfo) {
            this.setData({
                avatarUrl: userInfo.avatarUrl,
                userInfo: userInfo,
                showUserName: true
            })
            this.onGetOpenid(userInfo) //用户登录 获取openid,存入数据库
            wx.cloud.callFunction({ // 调取云函数 获取用户车辆信息
                name: 'showCars',
                data: '',
                success: res => {
                    console.log('调取showCars云函数成功', res)
                    console.log(res.result.length)
                    that.setData({
                            carCount: res.result.length,
                            // carList: res.result.data.data
                        })
                        // getapp().globalData.carList = res.result.data.data
                        // 将车列表存放到全局变量中
                    if (res.result.length !== 0) { // 当自己有车的时候 跳转到车的页面
                        wx.switchTab({
                            url: '/pages/car/car'
                        })
                    }
                },
                fail: res => {
                    console.log(res)
                }
            })
        }
    },

    onGetOpenid: function(userInfo) {
        // 调用云函数  获取用户openID
        wx.cloud.callFunction({
            name: 'login',
            data: userInfo, // 将用户基本信息传入到云函数中
            success: res => {
                // console.log(res.result)
                // console.log(res.result.openid)
                getApp().globalData.openId = res.result.openid // 将openid存入全局变量
                wx.setStorageSync('openid', res.result.openid)
                if (res.result) { // 将数据存入数据库
                    const db = wx.cloud.database()
                    db.collection('users').where({ // 首先查找用户是否存在
                        _openid: res.result.openId
                    }).get().then(res => {
                        // console.log(res)
                        if (res.data == "") { //当用户不存在时 进行用户添加
                            let params = {
                                name: userInfo.nickName
                            }
                            db.collection('users').add({
                                data: params,
                                success: res => {
                                    // console.log(res)
                                    console.log('[数据库] [新增记录] 成功，记录 _id: ', res._id)
                                }
                            })
                        } else {
                            console.log("用户已存在")
                        }
                    })
                }
            },
            fail: err => {
                console.error('[云函数] [login] 调用失败', err)
            }
        })
    },
    addCar: function() {
        console.log("click addCar")
        wx.navigateTo({
            url: '../addcar/addcar',
        })
    }

})